--[[
    函数：lua3_lab_add_product
    功能：添加模版
    参数：ARGV[1]:doc_id 作品 id
    参数：ARGV[2]:logo_img，可为 null, logo 对应的图形缩略图地址, null 标识暂不缓存此字段
    参数：ARGV[3]:switch_list，可为 null, 作品对应的可切换模板/商品列表, null 标识暂不缓存此字段 传入结构为数组, 详见 labUtil.getProductDesigns_v6_2 返回值
    参数：ARGV[4]:sel_content_id， 可为 null, 如果是Logo则传入Logo图形的designId（不能传入临时Logo模版的designId），如果是名片则传入名片的designId
    返回：0表示成功，1表示失败
--]]

-- ########################################################

-- 分类的前缀
local PREFIX_TYPE = "lab_type_"
-- 标签的前缀
local PREFIX_LABEL_INDUSTRY = "lab_label_industry_"
local PREFIX_LABEL_SCENE = "lab_label_scene_"
local PREFIX_LABEL_STYLE = "lab_label_style_"
local PREFIX_LABEL_COLOR = "lab_label_color_"
local PREFIX_LABEL_CUSTOM = "lab_label_custom_"
local PREFIX_PRODUCT = "lab_product_"

-- 排序的key
local KEY_SORT = "lab_sort"
-- ID-模版缓存的前缀
local PREFIX_DESIGN = "lab_d_"

-- key的连接符号
local PREFIX_S = "*"
-- 数组字符串的分割符号
local PREFIX_ARRAY_SPLIT = ","

-- product的hash表的几个filed名称
local PRODUCT_HASH_KEY_FILED_LOGO_IMG = "logo_img"
local PRODUCT_HASH_KEY_FILED_SWITCH_LIST = "switch_list"
local PRODUCT_HASH_KEY_FILED_SEL_CONTENT_ID = "sel_content_id"


-- ########################################################
-- 参数检测
local doc_id = ARGV[1]
local logo_img = ARGV[2]
local l_len = #logo_img
local switch_list = ARGV[3]
local s_len = #switch_list
local sel_content_id = ARGV[4]
local c_len = #sel_content_id

-- ########################################################
-- "id－模版缓存”hash表
local key = PREFIX_PRODUCT..doc_id
if(logo_img~=nil and l_len>0)
then
    redis.call('hmset',key, PRODUCT_HASH_KEY_FILED_LOGO_IMG, logo_img)
end

if(switch_list~=nil and s_len>0)
then
    redis.call('hmset',key, PRODUCT_HASH_KEY_FILED_SWITCH_LIST, switch_list)
end

if(sel_content_id~=nil and c_len>0)
then
    redis.call('hmset',key, PRODUCT_HASH_KEY_FILED_SEL_CONTENT_ID, sel_content_id)
end

-- ########################################################
return 0